package top.xiangqifu.springboot2_auth.service;

import top.xiangqifu.springboot2_auth.base.BasePageResult;
import top.xiangqifu.springboot2_auth.base.BaseResult;
import top.xiangqifu.springboot2_auth.entity.PageBean;
import top.xiangqifu.springboot2_auth.entity.TbAuthUser;
import top.xiangqifu.springboot2_auth.entity.TbPortableMessage;

import java.util.List;

public interface TbPortableMessageService {
    /**
     * 关注操作
     * @param user 前端传递的用户信息
     * @return 操作结果
     */
    BaseResult concernadd(TbAuthUser user);

    /**
     * 查询关注我的用户列表
     * @param pageBean 前端传递的分页信息
     * @return 返回关注我的用户信息
     */
    BasePageResult<List<TbPortableMessage>> queryList(PageBean pageBean);

    /**
     * 查询关注指定用户的用户列表
     * @param user 用户对象
     * @param pageBean 分页对象
     * @return 返回关注该用户的用户对象
     */
    BasePageResult<List<TbPortableMessage>> queryuserList(TbAuthUser user, PageBean pageBean);

    /**
     * 查询我关注的用户列表
     * @param pageBean 分页信息
     * @return 返回我关注的用户信息
     */
    BasePageResult<List<TbPortableMessage>> querynoList(PageBean pageBean);

    /**
     * 查询指定用户关注的用户列表
     * @param user 用户对象
     * @param pageBean 分页对象
     * @return 返回该用户关注的用户列表
     */
    BasePageResult<List<TbPortableMessage>> queryusernoList(TbAuthUser user, PageBean pageBean);
}
